Skip to content

[eppp]: Support for transport via Ethernet (phy or emac) #622

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 30, 2025

Conversation

david-cermak
Copy link
Collaborator

@david-cermak david-cermak commented Jul 25, 2024

  • Using a real phy chip, via a standard Ethernet cable

  • Using a dummy phy, by means of EMAC to EMAC connection
  • Added emac2emac example which demonstrates overriding (standard) Ethernet drivers with the custom one: eth_dummy_phy

@david-cermak david-cermak force-pushed the feat/eppp_emac2emac branch from 001855e to da05de2 Compare July 26, 2024 08:45
@david-cermak
Copy link
Collaborator Author

@kostaond Thanks taking a look at the emac2emac option. I must say that I concur with your assessment and think that this option is probably not a viable transport option for eppp at this moment.

My suggestion is that we drop the emac2emac option in this PR, but allow the Ethernet init/start functionality to be extended (with callbacks or __weak functions).
Then we can add emac2emac as an example and add appropriate comments about the GPIO0 workaround and the synchronization and reset stuff...

@kostaond
Copy link
Collaborator

@kostaond Thanks taking a look at the emac2emac option. I must say that I concur with your assessment and think that this option is probably not a viable transport option for eppp at this moment.

My suggestion is that we drop the emac2emac option in this PR, but allow the Ethernet init/start functionality to be extended (with callbacks or __weak functions). Then we can add emac2emac as an example and add appropriate comments about the GPIO0 workaround and the synchronization and reset stuff...

Agree, if you need to move forward, drop the emac2emac. It's currently too much polluted with the GPIO0 workaround. Presence or non presence of the workaround must be super clear to users because the most probable use case is to use ESP32 with WiFi connected to some other chip without WiFi.

@david-cermak david-cermak force-pushed the feat/eppp_emac2emac branch from da05de2 to 35f9579 Compare July 26, 2024 12:14
@david-cermak
Copy link
Collaborator Author

It's currently too much polluted with the GPIO0 workaround. Presence or non presence of the workaround must be super clear to users because the most probable use case is to use ESP32 with WiFi connected to some other chip without WiFi.

Removed the emac2emac from the component and added it as an extra example with the specific configuration, so the GPIO0 workaround is in the app code only. (Moreover It demonstrates using any custom Ethernet driver)

@david-cermak david-cermak force-pushed the feat/eppp_emac2emac branch 2 times, most recently from e03a0cd to de4af56 Compare April 14, 2025 06:43
@david-cermak
Copy link
Collaborator Author

@kostaond @euripedesrocha Thanks for your review, I've reworked this PR, so that it uses "just Ethernet" with customizable initialization. Then (in a separate commit) I've added the EMAC-2-EMAC example with all those workarounds and magic delays.

@david-cermak david-cermak force-pushed the feat/eppp_emac2emac branch 2 times, most recently from 772c84b to b00d44c Compare April 30, 2025 09:23
@david-cermak
Copy link
Collaborator Author

Thanks for your review, Ondrej & Euripedes!

@david-cermak david-cermak merged commit c6f08ee into espressif:master Apr 30, 2025
47 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants